home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Aminet / util / time / backclock.lha / backclock / rtracker / rtrackerbase.h < prev   
Encoding:
C/C++ Source or Header  |  1999-08-05  |  2.1 KB  |  103 lines

  1. /* version 1.0
  2.  */
  3.  
  4. #ifndef RTRACKERBASE_H
  5. #define RTRACKERBASE_H
  6.  
  7.  
  8. #include <exec/libraries.h>
  9. #include <exec/types.h>
  10. #include <exec/tasks.h>
  11. #include <dos/dos.h>
  12. #include <intuition/intuition.h>
  13.  
  14. /* file chained list
  15.  */
  16.  
  17.  
  18. typedef struct {
  19.   void * nextNode ; /* noeud suivant */
  20.   BPTR file ;       /* BPTR sur le fichier ouvert */
  21.   char * filename ; /* nom du fichier */
  22.   struct Task * otask ;       /* tache */
  23. } nodeF;
  24.  
  25. /* lib chained lib
  26.  */
  27.  
  28. typedef struct {
  29.   void * nextNode ;
  30.   struct Library * ptrLib ;
  31.   struct Task * otask ;
  32. } nodeL;
  33.  
  34.  
  35.  
  36. #define PHEADER 0
  37. #define PDATA   1
  38. /* memory allocation
  39.  */
  40. typedef struct {
  41.   void * nextNode ;               /* ptr sur le noeud suivant (0 si dernier) */
  42.   char * ptrBloc ;                                        /* ptr sur le bloc */ 
  43.   ULONG  size ;                                            /* taille allouer */
  44.   struct Task * otask ;
  45. } nodeM;
  46. /* pooled allocation
  47.  */
  48. typedef struct {
  49.   void * nextNode ;               /* ptr sur le noeud suivant (0 si dernier) */
  50.   void * ptrBloc ;                                        /* ptr sur le bloc */
  51.   ULONG  size ;                                            /* taille allouer */
  52.   ULONG  type ;                                          /* PHEADER ou PDATA */
  53.   struct Task * otask ;
  54. } nodeP;
  55.  
  56. #define GLISTNODE  0
  57. #define GADGETNODE 1
  58.  
  59. typedef struct {
  60.   void * nextNode ; /* noeud suivant */
  61.   struct Gadget * ptrGad ;
  62.   ULONG  type ;      /* GLISTNODE | GADGETNODE */
  63.   struct Task   * otask ;       /* tache */
  64. } nodeG;
  65.  
  66.  
  67. /* not used for instance
  68.  */
  69. #define MSGPORT 1
  70. #define REQUEST 2
  71.  
  72. typedef struct {
  73.   void * nextNode ;
  74.   ULONG  type ;
  75.   void * ptrDat ;
  76.   struct Task * otask ;
  77. } nodeE;
  78.  
  79.  
  80.  
  81.  
  82. /* base of the lib
  83.  */
  84. struct RTrackerBase
  85. {
  86.  struct Library         exb_LibNode;
  87.  APTR                   exb_SegList;
  88.  struct Library       * exb_SysBase;
  89.  struct Library       * exb_IntuitionBase;
  90.  struct Library       * exb_DosBase;
  91.  struct Library       * exb_GadToolsBase ;
  92.  nodeM * nodem ;
  93.  nodeL * nodel ;
  94.  nodeF * nodef ;
  95.  nodeP * nodep ;
  96.  nodeG * nodeg ;
  97.  nodeE * nodee ;
  98.  void    * ptrPool ;
  99. };
  100.  
  101. #endif
  102.  
  103.